package com.eorchis.module.interioruser.dao;

import java.util.List;

import com.eorchis.core.basedao.dao.IDaoSupport;
import com.eorchis.module.classuser.domain.ClassUser;
import com.eorchis.module.classuser.domain.QueryClassUserBean;
import com.eorchis.module.classuser.ui.commond.ClassUserQueryCommond;
import com.eorchis.module.interioruser.domain.DeptSignupBean;
import com.eorchis.module.interioruser.domain.InteriorUserQueryBean;
import com.eorchis.module.interioruser.domain.UserInfoBean;
import com.eorchis.module.interioruser.ui.commond.InteriorUserQueryCommond;
import com.eorchis.module.interioruser.ui.commond.InteriorUserValidCommond;
import com.eorchis.module.user.domain.User;

/**
 * Title: IInteriorUserDao<br>
 * Description: 内部用户数据接口<br>
 * Company: GoldGov<br>
 * Copyright @ 2012 GoldGov .All rights reserved.<br>
 * @author Administrator
 * @createDate 2015-01-04
 * @version $Revision$
 */
public interface IInteriorUserDao extends IDaoSupport{
	/**
	 * 预修改内部不用户报名
	 * @param queryCommond
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 * @author Xupp
	 * @createDate 2015-1-4
	 */
	public InteriorUserQueryBean preUpdateInteriorUser(InteriorUserQueryCommond qCommond)throws Exception;
	/**
	 * 修改内部不用户报名
	 * @param queryCommond
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 * @author Xupp
	 * @createDate 2015-1-4
	 */
	public int updateInteriorUser(InteriorUserValidCommond vCommond)throws Exception;
	/**
	 * 修改用户表用户姓名
	 * @param vCommond
	 * @return
	 * @throws Exception
	 * @author ShenPS
	 * @date 2015年5月5日
	 */
	public int updateBaseUser(InteriorUserValidCommond vCommond)throws Exception;
	
	/**
	 * 验证用户是否存在
	 * @param validCommond
	 * @return
	 * @throws Exception
	 * @author ShenPS
	 * @date 2015年1月7日
	 */
	public UserInfoBean checkUserIsIn(InteriorUserValidCommond validCommond) throws Exception;
	
	/**
	 * 验证用户是否在班级内
	 * @param queryCommond
	 * @return
	 * @throws Exception
	 * @author ShenPS
	 * @date 2015年1月7日
	 */
	public ClassUser checkUserInClass(InteriorUserQueryCommond queryCommond) throws Exception;
	
	/**
	 * 查询单位报名人数
	 * @param queryCommond
	 * @return
	 * @throws Exception
	 * @author ShenPS
	 * @date 2015年1月8日
	 */
//	public List<DeptSignupBean> getDeptSignupInfo(InteriorUserQueryCommond queryCommond) throws Exception;
	
	/**
	 * 查询单位报名人数
	 * @param queryCommond
	 * @return
	 * @throws Exception
	 * @author ShenPS
	 * @date 2015年1月8日
	 */
	public List<DeptSignupBean> getDeptSignupNum(InteriorUserQueryCommond queryCommond) throws Exception;
	/**
	 * 由登录号查询用户
	 * @param validCommond
	 * @return
	 * @throws Exception
	 * @author NingSS
	 * @date 2015年1月15日
	 */
	public User getUserByLoginId(String loginId) throws Exception;
	/**
	 * 
	 * @param queryCommond
	 * @return
	 * @throws Exception
	 * @author ShenPS
	 * @date 2015年1月23日
	 */
	public long getClassSingUpNum(InteriorUserQueryCommond queryCommond) throws Exception;
	/**
	 * 验证用户是否在报名单位里
	 * @param queryCommond
	 * @return
	 * @throws Exception
	 * @author ShenPS
	 * @date 2015年1月25日
	 */
	public boolean checkUserInSignUpDept(InteriorUserQueryCommond queryCommond) throws Exception;
	/**
	 * 临时人员列表-单位and工委
	 * @param queryCommond
	 * @return
	 * @throws Exception
	 * @author NingSS
	 * @date 2015-5-6
	 */
	public List<QueryClassUserBean> getLUserList(
			InteriorUserQueryCommond queryCommond) throws Exception;
	/**
	 * 预更新用户表
	 * @param qCommond
	 * @return
	 * @throws Exception
	 * @author ShenPS
	 * @date 2015年5月6日
	 */
	public InteriorUserQueryBean preUpdateUser(InteriorUserQueryCommond qCommond) throws Exception;
}
